﻿/**
 * 
 * @file FITKAcousticsGeometryDataAdaptor.h
 * @brief 几何信息写出适配器 
 * @author LiBaojun (libaojunqd@foxmail.com)
 * @date 2025-02-19
 * 
 */
#ifndef _FITK_ACOUSTICS_GEOMETRY_DATA_ADAPTOR_H__
#define _FITK_ACOUSTICS_GEOMETRY_DATA_ADAPTOR_H__

#include "FITKAcousticsAbstractAdaptor.h" 
#include "FITK_Kernel/FITKAdaptor/FITKIOAdaptorFactory.h"
 
namespace IO 
{
    /**
     * @brief 几何信息写出适配器
     * @author LiBaojun (libaojunqd@foxmail.com)
     * @date 2025-02-19
     */
    class FITKAcousticsGeometryDataAdaptor : public FITKAcousticsAbsAdaptor
    {

    public:
        /**
         * @brief Construct a new FITKAcousticsGeometryDataAdaptor object
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2025-02-19
         */
        explicit FITKAcousticsGeometryDataAdaptor() = default;
        /**
         * @brief Destroy the FITKAcousticsGeometryDataAdaptor object
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2025-02-19
         */
        virtual ~FITKAcousticsGeometryDataAdaptor() = default;
        /**
         * @brief 执行读取
         * @return true 
         * @return false 
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2025-02-19
         */
        virtual bool adaptR() override;
        /**
         * @brief 执行写出
         * @return true 
         * @return false 
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2025-02-19
         */
        virtual bool adaptW() override;
 
    };
    Register2FITKIOAdaptorFactory(FITKAcousticsHDF5, Acoustics::FITKAcousticsGeometryData, FITKAcousticsGeometryDataAdaptor);
}

#endif